class Solution {
    public int climbStairs(int n) {
        if (n <= 1) {
            return n;
        }
        // 算上当前位置，总共有n+1级台阶
        int[] f = new int[n+1];
        // 当前处在下标0处
        f[0] = 1;
        // 走到第一级，只有一种走法
        f[1] = 1;
        for (int i = 2; i <= n; i++) {
            // 走到第i级，有两种方法过来，就是f[i-1]，f[i-2]
            f[i] = f[i-1] + f[i-2];
        }
        return f[n];
    }
}
